<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
	xmlns:h="http://java.sun.com/jsf/html"
	xmlns:f="http://java.sun.com/jsf/core"
	xmlns:p="http://primefaces.org/ui"
	xmlns:ui="http://java.sun.com/jsf/facelets">

<h:head></h:head>
<h:body>
	<h:form id="form">

		<p:growl id="msgs" showDetail="true" />

		<p:dataTable id="usuarios" var="usuario" value="#{usuarioBean.lista}"
			paginator="true" rows="10"
			paginatorTemplate="{CurrentPageReport}  {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}"
			rowsPerPageTemplate="5,10,15">

			<f:facet name="header">
				<p:commandButton oncomplete="inserirDialog.show()" actionListener="#{usuarioBean.criarUsuario()}"	value="Novo usuário" />
			</f:facet>

			<p:column headerText="Nome" filterBy="#{usuario.nome}"
				filterMatchMode="contains">
				<h:outputText value="#{usuario.nome}" />
			</p:column>

			<p:column headerText="Sobrenome" filterBy="#{usuario.sobrenome}"
				filterMatchMode="contains">
				<h:outputText value="#{usuario.sobrenome}" />
			</p:column>

			<p:column headerText="login" filterBy="#{usuario.login}"
				filterMatchMode="contains">
				<h:outputText value="#{usuario.login}" />
			</p:column>

			<p:column headerText="Data de nascimento"
				filterBy="#{usuario.data_nascimento}" filterMatchMode="contains">
				<h:outputText value="#{usuario.data_nascimento}" />
			</p:column>

			<p:column headerText="Último acesso"
				filterBy="#{usuario.ultimo_acesso}" filterMatchMode="contains">
				<h:outputText value="#{usuario.ultimo_acesso}" />
			</p:column>

			<p:column>
				<p:commandButton id="selectButton" update=":display"
					oncomplete="detalhesDialog.show()" value="Visualizar" title="View">
					<f:setPropertyActionListener value="#{usuario}"
						target="#{usuarioBean.usuario}" />
				</p:commandButton>
				<p:commandButton id="editButton" update=":editPanel"
					oncomplete="editDialog.show()" value="Editar" title="View">
					<f:setPropertyActionListener value="#{usuario}"
						target="#{usuarioBean.usuario}" />
				</p:commandButton>
				<p:commandButton id="deleteButton" update=":deleteDialog"
					oncomplete="deleteDialog.show()" value="Excluir">
					<f:setPropertyActionListener value="#{usuario}"
						target="#{usuarioBean.usuario}" />
				</p:commandButton>
			</p:column>

		</p:dataTable>

	</h:form>

	<p:confirmDialog id="deleteDialog" widgetVar="deleteDialog"
		message="Tem certeza que deseja excluir '#{usuarioBean.usuario.nome}' ?"
		header="Confirmção" severity="alert">

		<p:commandButton value="Sim" action="#{usuarioBean.remover}"
			update=":form:usuarios" oncomplete="deleteDialog.hide()" />

		<p:commandButton value="Não" onclick="deleteDialog.hide()"
			type="button" />
	</p:confirmDialog>


	<!-- INÍCIO DO POPUP PARA VISUALIZAR USUÁRIO -->
	<p:dialog header="Detalhes" widgetVar="detalhesDialog"
		resizable="false" id="detalhesDlg" showEffect="fade"
		hideEffect="explode" modal="true">
		<h:panelGrid id="display" columns="2" cellpadding="4"
			style="margin:0 auto;">
			<h:outputText value="Nome:" />
			<h:outputText value="#{usuarioBean.usuario.nome}"
				style="font-weight:bold" />

			<h:outputText value="Sobrenome" />
			<h:outputText value="#{usuarioBean.usuario.sobrenome}"
				style="font-weight:bold" />

			<h:outputText value="Data de nascimento" />
			<h:outputText value="#{usuarioBean.usuario.data_nascimento}"
				style="font-weight:bold" />

			<h:outputText value="Login" />
			<h:outputText value="#{usuarioBean.usuario.login}"
				style="font-weight:bold" />

			<p:commandButton value="Fechar" onclick="detalhesDialog.hide()"
				type="button" />

		</h:panelGrid>

	</p:dialog>
	<!-- FIM DO POPUP PARA VISUALIZAR USUÁRIO -->


	<!-- INÍCIO DO POPUP PARA ALTERAR USUÁRIO -->
	<p:dialog header="Alterar" widgetVar="editDialog" resizable="false"
		showEffect="fade" hideEffect="explode" modal="true">
		<h:panelGrid id="editPanel" columns="2" cellpadding="4"
			style="margin:0 auto;">

			<h:form>

				<h:panelGrid columns="2">
					<h:outputLabel for="nome" value="Nome:" />
					<p:inputText id="nome" value="#{usuarioBean.usuario.nome}"
						required="true" requiredMessage="Campo 'Nome' obrigatório" />


					<h:outputLabel for="sobrenome" value="Sobrenome:" />
					<p:inputText id="sobrenome"
						value="#{usuarioBean.usuario.sobrenome}" />

					<h:outputLabel for="login" value="Login:" />
					<p:inputText id="login" value="#{usuarioBean.usuario.login}" />

					<h:outputLabel for="senha" value="Senha:" />
					<p:inputText id="senha" value="#{usuarioBean.usuario.senha}" />

					<h:outputLabel for="data_nascimento" value="Data de nascimento:" />
					<p:calendar id="data_nascimento"
						value="#{usuarioBean.usuario.data_nascimento}" navigator="true"
						yearRange="c-100:c+0" display="inline" />


				</h:panelGrid>

				<p:commandButton value="Salvar" action="#{usuarioBean.alterar}"
					update=":form:usuarios" oncomplete="editDialog.hide()">

				</p:commandButton>
			</h:form>

		</h:panelGrid>

	</p:dialog>
	<!-- FIM DO POPUP PARA ALTERAR USUÁRIO -->




	<!-- INÍCIO DO POPUP PARA CRIAR USUÁRIO -->
	<p:dialog header="Novo usuário" widgetVar="inserirDialog"
		resizable="false" showEffect="fade" hideEffect="explode" modal="true">
		<h:panelGrid id="inserirPanel" columns="2" cellpadding="4"
			style="margin:0 auto;">

			<h:form>

				<h:panelGrid columns="2">
					<h:outputLabel for="nome" value="Nome:" />
					<p:inputText id="nome" value="#{usuarioBean.usuario.nome}"
						required="true" requiredMessage="Campo 'Nome' obrigatório" />


					<h:outputLabel for="sobrenome" value="Sobrenome:" />
					<p:inputText id="sobrenome"
						value="#{usuarioBean.usuario.sobrenome}" />

					<h:outputLabel for="login" value="Login:" />
					<p:inputText id="login" value="#{usuarioBean.usuario.login}" />

					<h:outputLabel for="senha" value="Senha:" />
					<p:inputText id="senha" value="#{usuarioBean.usuario.senha}" />

					<h:outputLabel for="data_nascimento" value="Data de nascimento:" />
					<p:calendar id="data_nascimento"
						value="#{usuarioBean.usuario.data_nascimento}" navigator="true"
						yearRange="c-100:c+0" display="inline" />


				</h:panelGrid>

				<p:commandButton value="Salvar" actionListener="#{usuarioBean.inserir}"
					update=":form:usuarios" oncomplete="inserirDialog.hide()">
				</p:commandButton>
			</h:form>

		</h:panelGrid>

	</p:dialog>
	<!-- FIM DO POPUP PARA CRIAR USUÁRIO -->

</h:body>
</html>